<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // const obj = {
  //   name:"admin",
  //   age:18,
  //   sex:"男"
  // }

  // 对象的解构：按照键名一一对应，不存在的键，解构成undefined

  // const {sex, name, age, hobby} = obj;
  // ↑↑↑等价于↓↓↓
  // let name = obj.name;
  // let age = obj.age;
  // let hobby = obj.hobby;

  // console.log( name )
  // console.log( age )
  // console.log( sex )

  // console.log( hobby )

  // ==========

  // const arr = ["hello",5,6,7,"world"];

  // 数组的解构：按照从左向右的顺序，一一对应，不存在的位置为undefined
  // const [v, a, r, e, d, j] = arr;
  // ↑↑↑等价于↓↓↓
  // const a = arr[0]
  // const b = arr[1]
  // const c = arr[2]
  // const q = arr[6];

  // console.log(a)
  // console.log(r)
  // console.log(e)
  // console.log(d)
  // console.log(v)
  // console.log(j)

  // ===========

  // 字符也具有索引和长度，类似于数组
  // 也可以被解构，解构规则为数组的结构规则

  // const str = "hello";
  // const [a,s,d,f,g,h] = str;

  // console.log(a)
  // console.log(s)
  // console.log(d)
  // console.log(f)
  // console.log(g)
  // console.log(h)
  
  // ============


  
  // 传参
  // function fn( {x, y} ){
  //   console.log(x, y);
  // }
  // fn( {
  //   x:55,
  //   y:66
  // } )
  
  // 返回值
  // function fn(){
  //   return {
  //     year:2023,
  //     month: 6,
  //     date: 4
  //   }
  // }
  // const {year, month, date} = fn();
  // console.log(year)
  // console.log(month)
  // console.log(date)

  // ========

  let a = 10;
  let b = 20;

  [b, a] = [a, b];

  console.log(a, b);

</script>
</html>